package com.xiaoq.distribution.vo;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * Created by chenjh on 2018/5/29.
 */
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class TicketSettleVo implements Serializable {

    private static final long serialVersionUID = -3357528269788922792L;

    @ApiModelProperty(name = "id", value = "主键id", position=1)
    private String id;

    @ApiModelProperty(name = "settleHistoryId", value = "历史记录id", position=1)
    private String settleHistoryId;

    @ApiModelProperty(name = "shopOrderId", value = "订单id", position=10)
    private String shopOrderId;

    @ApiModelProperty(name = "orderState", value = "订单状态", position=10)
    private Integer orderState; //小店订单状态  @see OrderState.java

    @ApiModelProperty(name = "payState", value = "支付状态", position=10)
    private Integer payState; //支付状态, @see PayState.java

    @ApiModelProperty(name = "useTime", value = "使用时间", position=10)
    private Long useTime; //

    @ApiModelProperty(name = "number", value = "票的数量", position=10)
    private Integer number;

    @ApiModelProperty(name = "idCard", value = "身份证", position=10)
    private String idCard;

    @ApiModelProperty(name = "ticketCode", value = "票的码", position=10)
    private String ticketCode;

    @ApiModelProperty(name = "refundAmount", value = "退款金额", position=10)
    private Double refundAmount;

    /*** 预售价格*/
    @ApiModelProperty(name = "prePrice", value = "预售价格", position=10)
    private Long prePrice;

    /*** 结算价格 */
    @ApiModelProperty(name = "settleMoney", value = "结算价格", position=10)
    private Double settleMoney;

    /*** 下单价格 */
    @ApiModelProperty(name = "totalAmount", value = "下单价格", position=10)
    private Double totalAmount;

    /*** 下单时间*/
    @ApiModelProperty(name = "createTime", value = "下单时间", position=10)
    private Long createTime;

    /*** 退款时间*/
    @ApiModelProperty(name = "refundTime", value = "退款时间", position=10)
    private Long refundTime;

    /*** 分销商id */
    @ApiModelProperty(name = "distributorId", value = "分销商id", position=10)
    private String distributorId;

    @ApiModelProperty(name = "ticketId", value = "票的id，skuId", position=10)
    private String ticketId;

    @ApiModelProperty(name = "ticketName", value = "票的名称", position=10)
    private String ticketName;

    /*** 销售的第几张票 */
    @ApiModelProperty(name = "saleCountIndex", value = "销售的第几张票", position=10)
    private Long saleCountIndex;

    /*** 结算状态  */
    @ApiModelProperty(name = "settleStatus", value = "结算状态", position=10)
    private Integer settleStatus;

    /**
     * 结算类型 (核销(使用)结算， 下单结算)
     */
    @ApiModelProperty(name = "settleType", value = "结算类型 (核销(使用)结算， 下单结算)", position=10)
    private String settleType;

    /*** 结算时间  */
    @ApiModelProperty(name = "settleTime", value = "结算时间", position=10)
    private Long settleTime;

    /*** 退款结算时间*/
    @ApiModelProperty(name = "refundSettleTime", value = "退款结算时间", position=10)
    private Long refundSettleTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSettleHistoryId() {
        return settleHistoryId;
    }

    public void setSettleHistoryId(String settleHistoryId) {
        this.settleHistoryId = settleHistoryId;
    }

    public String getShopOrderId() {
        return shopOrderId;
    }

    public void setShopOrderId(String shopOrderId) {
        this.shopOrderId = shopOrderId;
    }

    public Integer getOrderState() {
        return orderState;
    }

    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }

    public Integer getPayState() {
        return payState;
    }

    public void setPayState(Integer payState) {
        this.payState = payState;
    }

    public Long getUseTime() {
        return useTime;
    }

    public void setUseTime(Long useTime) {
        this.useTime = useTime;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getTicketCode() {
        return ticketCode;
    }

    public void setTicketCode(String ticketCode) {
        this.ticketCode = ticketCode;
    }

    public Double getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(Double refundAmount) {
        this.refundAmount = refundAmount;
    }

    public Long getPrePrice() {
        return prePrice;
    }

    public void setPrePrice(Long prePrice) {
        this.prePrice = prePrice;
    }

    public Double getSettleMoney() {
        return settleMoney;
    }

    public void setSettleMoney(Double settleMoney) {
        this.settleMoney = settleMoney;
    }

    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(Long refundTime) {
        this.refundTime = refundTime;
    }

    public String getDistributorId() {
        return distributorId;
    }

    public void setDistributorId(String distributorId) {
        this.distributorId = distributorId;
    }

    public String getTicketId() {
        return ticketId;
    }

    public void setTicketId(String ticketId) {
        this.ticketId = ticketId;
    }

    public String getTicketName() {
        return ticketName;
    }

    public void setTicketName(String ticketName) {
        this.ticketName = ticketName;
    }

    public Long getSaleCountIndex() {
        return saleCountIndex;
    }

    public void setSaleCountIndex(Long saleCountIndex) {
        this.saleCountIndex = saleCountIndex;
    }

    public Integer getSettleStatus() {
        return settleStatus;
    }

    public void setSettleStatus(Integer settleStatus) {
        this.settleStatus = settleStatus;
    }

    public String getSettleType() {
        return settleType;
    }

    public void setSettleType(String settleType) {
        this.settleType = settleType;
    }

    public Long getSettleTime() {
        return settleTime;
    }

    public void setSettleTime(Long settleTime) {
        this.settleTime = settleTime;
    }

    public Long getRefundSettleTime() {
        return refundSettleTime;
    }

    public void setRefundSettleTime(Long refundSettleTime) {
        this.refundSettleTime = refundSettleTime;
    }
}
